package com.network.util.ping;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.io.PrintWriter;

public class StreamGobbler extends Thread
{
    private InputStream is;
    private String type;
    private  OutputStream os;

    StreamGobbler(InputStream is, String type)
    {
        this(is, type, null);
    }

    StreamGobbler(InputStream is, String type, OutputStream redirect)
    {
        this.is = is;
        this.type = type;
        this.os = redirect;
    }

    public void run()
    {
        BufferedReader br = null;
        PrintWriter pw = null;
        try
        {
            if (os != null)
                pw = new PrintWriter(os);

            br = new BufferedReader(new InputStreamReader(is));
            String line=null;
            while ( (line = br.readLine()) != null)
            {
                if (pw != null)
                    pw.println(line);
                //System.out.println(type + ">" + line);
            }
            if (pw != null)
                pw.flush();
        } catch (IOException ioe)
            {
            ioe.printStackTrace();
            }finally{
                if (null != pw){
                    pw.close();
                }
                if (null != br){
                    try{
                        br.close();
                    }catch (Exception e){}
                }
            }
    }
}


